In existing computer systems, a user's input intended to modify the image on the display is transmitted as a command with the associated data from a CPU to a graphics adapter over an AGP (Accelerated Graphics Port) and a PCI (Peripheral Component Interconnect) bus. A graphics chip on the graphics adapter renders the image based at least in part on the received command. Graphics image data associated with the rendered image is stored in a frame buffer. The image information is typically stored in the frame buffer in a digital format. The digital data stored in the frame buffer controls the color and intensity of every pixel on the display. The graphics adapter may include a RAMDAC (Random Access Memory Digital-to-Analog Converter) to convert graphics image data stored in the frame buffer from digital to analog form for display on an analog display.
The RAMDAC may be part of or separate from a display refresh unit. Depending on the refresh rate of the display, the display refresh unit frequently reads the contents of the frame buffer. If desired, the RAMDAC may convert the information into analog form and send it to the monitor. Thus, for a 1280×1024 pixel display using 24 bits per pixel, approximately 4 MB of data has to be read from the frame buffer for each refresh of the display. If the refresh rate of the display is 70 times per second, then approximately 280 MB of data is transmitted from the graphics adapter every second.
Two resources in the graphics adapter compete for the same frame buffer—the rendering unit and the display refresh unit. The rendering unit and the display refresh unit may be part of the same graphics chip. Because of the frequent and constant access of the frame buffer by the display refresh unit required to transfer large amounts of data, the rendering performance of the graphics adapter is adversely affected.
Furthermore, it is often desirable to display graphics information that is generated by a computer on a remote display monitor. Sometimes it is desirable to provide this type of remote graphics display across a communication network. One approach to providing graphics image data to a remote display involves reading data from the frame buffer back into the memory of the computer system, compressing the data, assembling the data into IP (Internet Protocol) packets, and then sending the packets to the destination computer over the communication network.
The destination computer receives the compressed image via a network interface card and stores it in system memory. The compressed image is transmitted to a PCI card where it is decompressed. The decompressed image is transmitted back to the system memory. The decompressed image is then transmitted to a graphics adapter on the destination computer via an AGP or a PCI bus. The graphics adapter transmits video signals over a video cable to the display, typically a CRT (Cathode Ray Tube), or LCD (Liquid Crystal Display) to display the graphics image. It may be seen from the foregoing that there is considerable data movement on the destination computer which increases the latency.